package com.douyin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.douyin.dto.LoginDTO;
import com.douyin.dto.RegisterDTO;
import com.douyin.dto.UpdateUserDTO;
import com.douyin.entity.Captcha;
import com.douyin.entity.Favorites;
import com.douyin.entity.User;
import com.douyin.entity.video.Type;
import com.douyin.vo.BasePage;
import com.douyin.vo.UserModel;
import com.douyin.vo.UserVO;

import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Map;

public interface IUserService extends IService<User> {
    boolean register(RegisterDTO registerDTO);

    UserVO getUserInfo(String userId);

    void updateInfo(UpdateUserDTO updateUserDTO);

    Page<User> getFollows(BasePage basePage, Long userId);

    Page<User> getFans(BasePage basePage, Long userId);

    boolean follows(Long followUserId,Long userId);


    void subscribe(HashSet<Long> typeIds, Long userId);

    Collection<Type> listSubscribeType(Long userId);

    Collection<Type> listNoSubscribeType(Long userId);

    void addSearchHistory(Long userId, String search);

    Collection<String> getSearchHistory(Long userId);

    void deleteSearchHistory(Long userId);
}
